#include "cpph.h"

const int Len = 66;
const int Divs = 6;
void subdivide(char ar[], int low, int high, int level);

int main()
{
	char ruler[Len];
	int i, j;
	for(i=1; i<Len-2; i++)
	{
		ruler[i] = ' ';
	}

	ruler[Len-1] = '\0';
	int max = Len-2;
	int min = 0;

	ruler[min] = ruler[max] = '|';

	cout<<ruler<<endl;
	for(i=1; i<Divs; i++)
	{
		subdivide(ruler, min, max, i);
		cout<<ruler<<endl;
		for(j=1; j<Len-2; j++)
			ruler[j]=' ';
	}
	return 0;
}

void subdivide(char ar[], int low, int high, int level)
{
	if(0 == level)
		return ;

	int mid = (low+high)/2;
	ar[mid] = '|';
	subdivide(ar, low, mid, level-1);
	subdivide(ar, mid, high, level-1);
}
